const Vue = require('vue')
const server = require('express')()
const renderer = require('vue-server-renderer').createRenderer({
    template: require('fs').readFileSync('./index.template.html', 'utf-8')
})
const createApp = require('./app')

server.get('*', (req, res) => {
    // const app = new Vue({
    //     data: {
    //         url: req.url
    //     },
    //     template: `<div>访问的 URL 是111： {{ url }}</div>`
    // })
    //
    // const context = {
    //     title: 'hello',
    //     meta: `
    //         <meta ...>
    //         <meta ...>
    //       `
    // }


    // const context = { url: req.url,title:'hello',meta:` <meta ...>` }
    // const app = createApp(context)
    //
    // renderer.renderToString(app, context,(err, html) => {
    //     console.log('err',err)
    //     if (err) {
    //         res.status(500).end('Internal Server Error')
    //         return
    //     }
    //     res.end(html)
    // })


    const createApp = require('/path/to/built-server-bundle.js')

    server.get('*', (req, res) => {
        const context = { url: req.url }

        createApp(context).then(app => {
            renderer.renderToString(app, (err, html) => {
                if (err) {
                    if (err.code === 404) {
                        res.status(404).end('Page not found')
                    } else {
                        res.status(500).end('Internal Server Error')
                    }
                } else {
                    res.end(html)
                }
            })
        })
    })




})

server.listen(8080)